declare interface OrderEndInfo {
	content: string;
	createTime: string;
	enableStatementVerifCode: boolean;
	faultReason: Array<string>;
	faultRelationVos: Array<string>;
	faultTypeRelationVos: Array<{
		oneFaultTypeId: string;
		threeFaultTypeId: string;
		twoFaultTypeId: string;
	}>;
	module: string;
	moduleId: string;
	moduleType: number;
	solution: Array<string>;
	userPhone: string;
	username: string;
	workNo: string;
}

declare interface OrderEndTemplateContent {
	applyEmp: null | string;
	applyEmpId: null | string;
	choices: null | string;
	custAccId: string;
	disabled: boolean;
	gmtCreate: null | string;
	gmtUpdate: null | string;
	id: null | string;
	isDeleted: null | boolean;
	modelId: string;
	property: string;
	propertyId: string;
	required: boolean;
	revieworEmp: null | string;
	revieworEmpId: null | string;
	sort: number;
	templateId: string;
	templateName: string;
	tip: string;
	type: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
	uploadQty: number;
	uploadSize: number;
	value: string;
	workId: string;
}

declare interface OrderEndTemplate {
	custAccId: string;
	objects: Array<{
		content: Array<OrderEndTemplateContent>;
		modelId: string;
		templateId: string;
		templateName: string;
	}>;
	workId: string;
}

declare interface OrderModule {
	id: string;
	name: string;
	code: null | string;
	select: boolean;
	disabled: boolean;
	type: number;
	warrantyDay: number;
	overinsured: boolean;
	autoDispatchClient: boolean;
	autoDispatchNetwork: boolean;
}

declare namespace OrderAPIResponse {
	type EndInfo = NetworkAPIResponse<OrderEndInfo>;
	type EndTemplate = NetworkNewAPIResponse<OrderEndTemplate>;
	type ModuleList = NetworkAPIResponseList<OrderModule>;
}
